(function ($){ if(!$) return; var ua=navigator.userAgent, isIE=ua.match(/msie/i), isIE6=isIE&&ua.match(/msie 6\./i), location=window.location, isHttpsScheme=location&&location.protocol&&location.protocol=='https:'; $.extend({ amazonjs:{ imageAttributes: ['SmallImage', 'MediumImage', 'LargeImage'], isCustomerReviewEnabled: false, isTrackEventEnabled: false, resource: {}, initTemplate:function (){ var r=this.resource; var linkOpenTag=''; var smallImageTemplate = [ '{{if SmallImage}}', '{{if $item.setInfoMargin(SmallImage.width+10)}}{{/if}}', '
', linkOpenTag, '${Title}', '', '
', '{{/if}}' ].join(''); var mediumImageTemplate = [ '{{if MediumImage}}', '{{if $item.setInfoMargin(MediumImage.width+10)}}{{/if}}', '
', linkOpenTag, '${Title}', '', '
', '{{/if}}' ].join(''); var largeImageTemplate = [ '{{if LargeImage}}', '{{if $item.setInfoMargin(LargeImage.width+10)}}{{/if}}', '
', linkOpenTag, '${Title}', '', '
', '{{/if}}' ].join(''); var imageTemplate = [ '{{if _ShowSmallImage}}',smallImageTemplate,'{{/if}}', '{{if _ShowMediumImage}}',mediumImageTemplate,'{{/if}}', '{{if _ShowLargeImage}}',largeImageTemplate,'{{/if}}' ].join(''); var linkTemplate=linkOpenTag + '${Title}'; var priceContentTemplate = [ '{{if $item.isSale()}}', '' + r.ListPrice + '${ListPrice.FormattedPrice}
', '{{if OfferSummary.LowestNewPrice}}' + r.Price + '${OfferSummary.LowestNewPrice.FormattedPrice}{{/if}}', '' + r.PriceUpdatedat + '', '{{else}}', '' + r.Price + '${ListPrice.FormattedPrice}', '' + r.PriceUpdatedat + '', '{{/if}}' ].join(''); var priceTemplate='{{if ListPrice}}
' + priceContentTemplate + '
{{/if}}'; var priceLiTemplate='{{if ListPrice}}
  • ' + priceContentTemplate + '
  • {{/if}}'; var reviewLinkTemplate=''; if(this.isCustomerReviewEnabled){ reviewLinkTemplate='{{if IFrameReviewURL}}' + r.SeeCustomerReviews + '{{/if}}'; } this.partial={ smallImage:smallImageTemplate, mediumImage:mediumImageTemplate, largeImage:largeImageTemplate, link:linkTemplate, price:priceTemplate }; var defaultTemplates={ Small:[ '
    ', imageTemplate, '{{if _ShowDefaultImage}}',smallImageTemplate,'{{/if}}', '
    ', '

    ',linkTemplate,'

    ', '', '
    ', reviewLinkTemplate, '', '
    ' ], Music:[ '
    ', imageTemplate, '{{if _ShowDefaultImage}}',mediumImageTemplate,'{{/if}}', '
    ', '

    ',linkTemplate,'

    ', '', '
    ', reviewLinkTemplate, '', '
    ' ], DVD:[ '
    ', imageTemplate, '{{if _ShowDefaultImage}}',mediumImageTemplate,'{{/if}}', '
    ', '

    ',linkTemplate,'

    ', '', '
    ', reviewLinkTemplate, '', '
    ' ], Book:[ '
    ', imageTemplate, '{{if _ShowDefaultImage}}',mediumImageTemplate,'{{/if}}', '
    ', '

    ',linkTemplate,'

    ', '', '
    ', reviewLinkTemplate, '', '
    ' ], eBooks:[ '
    ', imageTemplate, '{{if _ShowDefaultImage}}',mediumImageTemplate,'{{/if}}', '
    ', '

    ',linkTemplate,'

    ', '', '
    ', reviewLinkTemplate, '', '
    ' ] }; this.template(defaultTemplates); var me=this; $.each(this.addTemplateCallbacks, function (i, callback){ var t=callback.call(me, me.partial); if(t) me.template(t); }); }, addTemplateCallbacks:[], addTemplate:function (fn){ if(typeof(fn)=='function'){ this.addTemplateCallbacks.push(fn); }}, template:function (templates){ $.each(templates, function (name, tmpl){ if(tmpl){ $.template('amazonjs' + name + 'Tpl', (typeof tmpl==='string') ? tmpl:tmpl.join('')); }}); }, render:function (items){ var $items=[]; this.initTemplate(); $(".amazonjs_item").each(function (){ var classNames=$(this).attr('class').split(' '), c=classNames[0].split('_'), asin=c[1], countryCode=c[2], tmpl=(c.length > 3) ? c[3]:null, item=find(asin, countryCode), imgSize=$(this).attr('data-img-size') ; if(item){ item._ImageSize=imgSize||''; var $item=$.amazonjs.tmpl(item, $.amazonjs.formatTmplName(tmpl)); $(this).replaceWith($item.hide()); var $review=$item.find('.amazonjs_review'); if(isIE6){ $item.css('position', 'static'); $review.css({ 'float':'right', 'position':'static', 'marginRight':'32px' }); } $review.click(function (){ tb_show(this.title, this.href); this.blur(); return false; }); if($.amazonjs.isTrackEventEnabled){ $item.find('.amazonjs_link').click(function(){ try { var data=$(this).data(); var title=$(this).attr('title'); if(data.role=='amazonjs_product'){ if($.isFunction(ga)){ ga('send', 'event', 'AmazonJS', 'Click', data.asin + ' ' + title); }else if(_gaq){ _gaq.push(['_trackEvent', 'AmazonJS', 'Click', data.asin + ' ' + title]); }} } catch (e){ }}); } $items.push($item); }else{ tmpl='Link' + countryCode.toUpperCase(); item={ asins:asin, fc1:'000000', lc1:'0000FF', bc1:'000000', bg1:'FFFFFF', IS2:1, lt1:'_blank', f:'ifr', m:'amazon' }; var $item=$.amazonjs.tmpl(item, $.amazonjs.formatTmplName(tmpl)); $(this).replaceWith($item); }}); function find(asin, countryCode){ for (var i=0, length=items.length; i < length; i++){ if(items[i].ASIN==asin&&items[i].CountryCode==countryCode){ return items[i]; }} } if($.amazonjs.isFadeInEnabled){ function fadeIn(){ if($items.length > 0){ var $item=$items.shift(); $item.fadeIn(); setTimeout(fadeIn, 100); }} fadeIn(); }else{ $.each($items, function(){ this.show(); }); }}, formatTmplName:function (key){ return (key) ? 'amazonjs' + key + 'Tpl':null; }, formatNumber:function (val){ val +=''; var x=val.split('.'), x1=x[0], x2=x.length > 1 ? '.' + x[1]:'', rgx=/(\d+)(\d{3})/; while (rgx.test(x1)){ x1=x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; }, formatDateTime:function (timestamp){ var dt=new Date(timestamp * 1000); var Y=dt.getFullYear(), m=dt.getMonth() + 1, d=dt.getDate(), H=dt.getHours(), i=dt.getMinutes(); if(m < 10) m='0' + m; if(d < 10) d='0' + d; if(H < 10) H='0' + H; if(i < 10) i='0' + i; return Y + '/' + m + '/' + d + ' ' + H + ':' + i; }, getTemplate:function (item){ var defaultTmpl=this.formatTmplName('Small'); if(item&&item.ProductGroup){ var tmpl=this.formatTmplName(item.ProductGroup); return $.template[tmpl]||defaultTmpl; } return defaultTmpl; }, prepareData:function (item){ if(isHttpsScheme){ $.each(this.imageAttributes, function(i, v){ var image=item[v]; if(image&&image.src){ image.src=image.src.replace('http://ecx.images-amazon.com', 'https://images-eu.ssl-images-amazon.com'); }}); } item._ShowDefaultImage=_ShowSmallImage=item._ShowMediumImage=item._ShowLargeImage=false; if(item._ImageSize=='small') item._ShowSmallImage=true; else if(item._ImageSize=='medium') item._ShowMediumImage=true; else if(item._ImageSize=='large') item._ShowLargeImage=true; else item._ShowDefaultImage=true; item.PublicationDate=item.PublicationDate||item.ReleaseDate; item.Manufacturer=item.Manufacturer||item.Label; if(item.SalesRank) item.SalesRank=this.formatNumber(item.SalesRank); if(item.PublicationDate) item.PublicationDate=item.PublicationDate.replace(/-/g, '/'); if(item.ReleaseDate) item.ReleaseDate=item.ReleaseDate.replace(/-/g, '/'); if(item.Artist&&item.Creator){ var Creator=[]; var a=$.isArray(item.Artist) ? item.Artist:[item.Artist]; var c=$.isArray(item.Creator) ? item.Creator:[item.Creator]; $.each(c, function (i, value){ if($.inArray(value, a)==-1) Creator.push(value); }); item.Creator=(Creator.length) ? Creator:null; } item.UpdatedDate=this.formatDateTime(item.UpdatedAt); return item; }, tmpl:function (item, tmpl){ item=this.prepareData(item); if(!item.ListPrice&&item.OfferSummary){ item.ListPrice=item.OfferSummary.LowestNewPrice; } return $.tmpl($.template[tmpl]||this.getTemplate(item), item, { isSale:function (){ if(this.data){ var lp=this.data.ListPrice, la=Number(lp.Amount), os=this.data.OfferSummary||{}, sp=os.LowestNewPrice||{}, sa=Number(sp.Amount); return (!isNaN(sa)&&sa < la); } return false; }, setInfoMargin: function(margin){ return this.data._InfoMarginLeft=margin; }}); }, execute: function(){ var amazonjsVars=window.amazonjsVars; if(amazonjsVars){ function render(){ if(!amazonjsVars.items){ return; } if($.amazonjs.isRendered){ return; } if(amazonjsVars.isCustomerReviewEnabled){ if(typeof tb_pathToImage==='undefined'){ tb_pathToImage=amazonjsVars.thickboxUrl + '/loadingAnimation.gif'; } if(typeof tb_closeImage==='undefined'){ tb_closeImage=amazonjsVars.thickboxUrl + '/tb-close.png'; }} $.amazonjs.isFadeInEnabled=amazonjsVars.isFadeInEnabled; $.amazonjs.isCustomerReviewEnabled=amazonjsVars.isCustomerReviewEnabled; $.amazonjs.isTrackEventEnabled=amazonjsVars.isTrackEventEnabled; $.amazonjs.resource=amazonjsVars.resource; $.amazonjs.template(amazonjsVars.regionTemplate); $.amazonjs.render(amazonjsVars.items); $.amazonjs.isRendered=true; } if(amazonjsVars.isFadeInEnabled){ setTimeout(function (){ render(); }, 1000); }else{ render(); }} }} }); var boot=function(){ $.amazonjs.execute(); }; $(document).ready(boot); if($.fn.on){ $(window).on('load', boot); }else if($.fn.load){ $(window).load(boot); } if(document.addEventListener){ document.addEventListener('DOMContentLoaded', boot); }})(jQuery);